Installing Debian GNU/Interix ============================= last updated: 2009-06-13 mkoeppe@gmx.de This description has been successfully tested with - SFU 3.5 on Windows 2000 SP4 - SFU 3.5 on Windows XP SP2, SP3 - SUA 5.2 on Windows Server 2003 R2 - SUA 6.0 on Windows Vista SP0, SP1 To bootstrap Debian GNU/Interix do the following steps: ------------------------------------------------------- * Always log in to Windows as local Administrator for the following steps, just a member of Administrators group isn't enough for Interix! Don't open ksh with "Run As Administrator", either, it's not enough. Instead log in with the real Administrator! On Vista this must be enabled first, see below. * To verify being the real Administrator you can issue "id -u" on an Interix shell, and it should print 197108, the Administrator's UID. (It will also print 197108 if you did use "Run as Administrator" nevertheless.) * Activating the Administrator account: On Vista you must first enable the by default disabled Administrator account. If Vista is joined to a domain, it's easy, you go to the Computer Management MMC and therein System Tools | Local Users and Groups. Enable the Administrator account and set a password. Alternatively, you may look at http://www.interopsystems.com/community/tm.aspx?m=10345 * On Windows XP make sure, you DON'T "Use simple file sharing" * Download and install SFU 3.5 or SUA utilities Choose at least - Utilities -> Base Utilities - Interix GNU Components -> Interix GNU Utilities (for /lib/ld.so.1) - Interix GNU SDK (for ar) - Enable setuid and case sensitive file system. - On Vista and above enable SuToRoot also. (See Troubleshooting section if you have already installed and want to change these settings afterwards.) You should not install UNIX Perl, as it is version 5.6.1, and 5.10 is included in Debian GNU/Interix. You should not install ActiveState Perl, either. If you need it, you should get a current version from http://www.activestate.com * For SFU 3.5 install at least the following hotfixes: - 913030 (rollup package) - 942312 (ld.so update) - 959543 (latest core files) These may be downloaded or ordered for download from Microsoft via e-mail. For more details or other current hotfixes see http://www.debian-interix.net/hotfixes/ * For Server 2003 R2 / SUA 5.2 install at least: - 945449 (core files) - 948918 (libdl.so) * Install other current Windows Updates, but you might omit the 920958 update from 26-Sep-2006. It seems to slow down interix on W2K. * Download the bootstrap files at ftp://debian-interix.net/debian-interix/install.zip and extract into an arbitrary folder, e.g. C:\SFU\tmp\install. The path should not contain any spaces, however, as the setup skript will fail otherwise. You can find the individual files for reference at: ftp://debian-interix.net/debian-interix/install/* * If you have done a previous bootstrap installation and want to restart from beginning, make sure to remove or rename the following files and dirs, so they don't exist when you proceed with the next step: - /debootstrap/debootstrap.log - /usr/local/man/man - /var/cache/apt/ - /var/lib/apt/ - /var/lib/dpkg/ * On a 64-bit environment, you should ensure that your standard 'ar' program is the 32-bit version. Rename /bin/ar to e.g. /bin/ar.amd64 and replace with /opt/gcc.4.2/bin/ar. * Open a ksh shell, and verify you are the real Administrator (uid 197108): $ id -u 197108 * Make sure you have /sbin and /usr/sbin in your PATH This can be achieved by appending the following line to /etc/profile.lcl: export PATH=/usr/sbin:/sbin:$PATH * You should also make sure that you don't have incompatible binaries in e.g. /usr/local/bin or adjust the PATH that /bin and /usr/bin appear before /usr/local/bin. This might be the case if you installed another collection of interix tools before, and did not uninstall these first. * Now goto your folder and start installation: $ cd /tmp/install $ ksh setup Packages are retrieved, validated, extracted. Then packages are installed, which can take a considerably amount of time, I currently don't know, why. (Only seen on W2K so far.) It will finish, however, and the last message should be: "Base system installed successfully." You may be interested in /debootstrap/debootstrap.log in case there are any warnings or errors. * Create a file /etc/apt/preferences with the following contents: Package: * Pin: release a=unreleased35 Pin-Priority: 800 This is to handle arch:all packages which needed to be modified for debian-interix. See apt_preferences(5) for more details. * Now run $ apt-get update $ apt-get upgrade -f -V and check that all dependencies are fulfilled. (Don't REMOVE any packages, however. And there shouldn't be any packages to UPDATE. If you are asked about either, then it is a bug on debian-interix.net, so please report it.) * Install packages you like with apt-get: $ apt-get install ... e.g. $ apt-get install perl mc less dialog To remove a package, issue $ apt-get remove ... Or you may use the curses-based dselect as well. (The newer and more comfortable aptitude doesn't exist yet for interix.) * Currently, there is no coreutils package. If you need some of the coreutils, say cp (for -a), install, readlink, or tac, you can get what I managed to build from http://debian-interix.net/debian-interix/bootstrap-tools/ * If you wish to build your own packages, make sure you install the patched arch-all packages of - dpkg-dev - debhelper - cdbs - debootstrap To install e.g. dpkg-dev use: $ apt-get install dpkg-dev/unreleased35 to make sure to install the package from Debian/Interix or manually download the dpkg-dev_*_all.deb from http://www.debian-interix.net/debian-interix/pool/unreleased35/main/d/dpkg/ and then manually install with $ dpkg -i dpkg-dev_*_all.deb You may want to set these packages on hold, so they don't get accidentally updated, when a new official Debian version of them occur, but see below also. To set them on hold, do the following $ dpkg --set-selections <